公司主页 文档归类 淘宝

下载运行第一个程序

介绍

本章使用CC2640R2F Evaluation Board作为实验平台下载运行simple_peripheral工程。旨在为开发者建立一个BLE的感性认识。simple_peripheral的IAR工程可以在目录C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\simple_peripheral\tirtos\iar下找到。
有关工程配置和编译选项以及下载方法参考CC2640R2 BLE 开发环境搭建部分和使用IAR进行开发

simple_peripheral工程实现了具有GATT服务的蓝牙低功耗外设。并且该项目作为后面协议栈讲解的基础程序。

硬件环境

使用USB连接CC2640R2F Evaluation Board。确保跳线帽正确连接,如下图所示

成功连接开发板之后,打开电脑的设备管理器。可以看见XDS110的两个端口,接下来我们打印使用的串口是XDS110 Class Application/User UART(COM25)

注意:XDS110驱动程序在安装IAR时会默认安装,如果你没有安装IAR,可以手动更新驱动程序软件,XDS驱动可以在CC2640R2开发工具集介绍里获得。

软件环境

协议栈和IAR安装以及我们工程编译参考CC2640R2 BLE 开发环境搭建 编译参考 编译第一个工程(simple_peripheral),还需要使用PuTTY,一款基于windows的控制台打印工具。手机端需要安装BLE Scanner APP。所有工具可以在CC2640R2开发工具集介绍里获得。

程序下载

提供两种方式进行程序下载,如果用户已经安装了IAR,并且参考开发环境搭建部分搭建好了环境之后可以直接使用IAR进行下载。如果用户目前还没有安装IAR,可以使用flash_programmer进行固件下载。下面我们说明一下如何使用flash_Programer 2进行程序下载。

  1. 连接开发板,并打开Flash_Prorammer 2软件,在Connected devices界面可以看见我们的设备。
  2. 点击browser按键,在C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\hexfiles路径下找到cc2640r2lp_simple_peripheral.hex文件并打开。
  3. 勾选Erase,选择All unprotected pages。
  4. 勾选Program,选择Entire source file。
  5. 勾选Verify 选择Readback
  6. 点击run,即可完成固件下载。

Service/Profile表

该工程包含一个服务(Service),5个特征值(characteristic)。
注意下面的UUID值,使用BLE Scanner可以获得128位的UUID,但该项目生成的是16位的UUID。

characteristic UUID 格式 属性 资料来源
1 FFF1 1 byte 读/写 peripheral.c / simple_gatt_profile.c
2 FFF2 1 byte peripheral.c / simple_gatt_profile.c
3 FFF3 1 byte peripheral.c / simple_gatt_profile.c
4 FFF4 1 byte 通知 peripheral.c / simple_gatt_profile.c
5 FFF5 5 byte peripheral.c / simple_gatt_profile.c

用法

使用putty的串口功能作为该项目的串口显示器。使用以下参数配置putty串口。

UART参数 默认值
波特率 115200
数据长度 8 bit
Parity None
Stop bits 1 bit
Flow Control None

当 Simple Peripheral程序启动,可以在putty上看见项目名称,广播状态,设备地址,如下图所示。

广播是在程序启动后默认启动的,打开手机的BLE Scanner扫描设备,可以看见一个名为SimpleBLEPeripheral的设备。

如果有多个名称为SimpleBLEPeripheral的设备,可以通过左侧的RSSI数值来判断需要连接的设备,该值表示蓝牙的信号强度。一旦连接上设备,终端窗口将显示智能手机的设备地址。

连接成功之后,可以通过按键设置PHY的首选项,关于PHY更多描述,参考LE 2M PHY
在BLE Scanner中,你可以看到有关SimpleBLEPeripheral更多信息。

点开CUSTOM SERVICE,这是用户自定义服务,其中包含5个characteristic,并显示了每个characteristic的信息。

characteristic 1 (UUID:FFF1)

characteristic 1具有读写属性,包含一个字节长度的值。如下图所示。

按下R按钮后,可以读取characteristic的值,显示在HEX后面,默认是0x01。按下写入按钮后,出现写入弹窗,可以写入1字节任意数字,再次点击读取可以获取刚才写入的值。并且可以在putty中断看见写入的ASCII值。这里我们写入的是2,对应ASCII码为50.

每个用户特征值下面都有一个R按键,可以读取特征名称。如下图所示。

characteristic 2 (UUID:FFF2)

此特征值仅具有读属性。默认值为0x02.可按照characteristic 1方式进行读。

characteristic 3 (UUID:FFF3)

此特征值仅具有写属性,默认值为0x03.可按照characteristic 1方式进行写。

characteristic 4 (UUID:FFF4)

此特征值仅具有通知属性,通过点击N按键打开通知属性,打开后它会将characteristic 3的值以通知的方式发送出来。手机端接收到之后显示在界面。如下图所示。

并且还可按下特征值配置旁边的读取按钮显示是否已经启动了通知。

characteristic 5 (UUID:FFF5)

characteristic 5仅具有读属性,它是5个字节,默认值为0x0102030405.它与其他特征值不同的是它需要认证。通过智能手机与外设配对来完成。默认的密码是0000,当配对成功,才能读取到正确内容。

加入我们

文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。

CC2640R2F&BLE5.0-乐控畅联 © Copyright 2017, 成都乐控畅联科技有限公司.